Testing systems test a device by varying one or more inputs to the device and measuring one or more outputs. As the number of combinations of inputs that need to be tested increases, such test systems can increasingly benefit from automation. The system or device is often referred to as the device under test (DUT). Modern test instruments include computer interfaces that allow the instrument to be run from a computer connected to the instrument over a network or other communication channel. With the appropriate drivers installed on the computer, the computer can control the outputs of signal sources used as the inputs to the DUT and can measure the signal leaving the DUT and store the results. User friendly interfaces allow the computer user to manipulate virtual instruments on the computer screen as if the user was manipulating the actual physical instrument.
For example an engineer might characterize the frequency response of a DUT by varying the frequency and amplitude of an input and measuring the amplitude of the corresponding outputs. External parameters such as temperature may also be varied. Hundreds or thousands of combinations of input parameters might need to be measured in a test. In the following discussion, each combination of input parameters will be referred to as a “measurement trial”.
In addition to reducing the tedium of running large numbers of tests, automation also increases the reliability of the data by reducing human error. Manual testing requires the user to enter the parameters of each measurement trial. Such manual entry is error prone. In addition, the ability to repeat a series of measurement trials at a different time on the DUT is facilitated by scripts that define the measurement trials and can be reloaded at the time of the new tests.
Automated solutions require the use of a programming language to develop a software application. The engineer(s) working on characterizing the DUT may lack the programming skills needed to program the computer to acquire and analyze the data, particularly if some form of general programming language and program development platform is required.